Setting Up a Race
Use these steps to create and manage races. This section covers the full setup wizard, runner ranges, checkpoints, and the race overview.
Creates a new race from scratch and verifies the overview
A race director fills in all the details needed to create a brand-new race — the race name, date, start time, how many checkpoints there are, and the range of runner bib numbers. Once saved, the race overview page should correctly display the race name, list every checkpoint, and show the right number of registered runners.
Step indicator advances correctly through setup wizard
The race creation form is split into two screens. This test checks that the progress indicator at the top of the form clearly updates when you move from the first screen (race details) to the second screen (runner numbers), so the race director always knows which step they are on.
Back button on step 2 returns to race details with data preserved
If a race director fills in the race name and other details, moves on to the second screen, then clicks Back, all their work should still be there — the race name and other fields must not be wiped out. Nobody should have to retype information just because they went back a step.
Race management page lists created races
The Race Management page is the race director's central hub where all races are listed. This test confirms that a race created earlier in the test suite appears on that page.
Clicking a race opens its overview
When the race director clicks on a race in the management list, they should be taken to that race's overview page where they can see all the details. This test confirms that navigation works correctly.
Creates a second race from the management page
A race director creates a second race directly from the management screen, going through the full two-step setup wizard (race details, then runner ranges) and landing on the new race's overview page.
Race overview shows correct runner and checkpoint counts
After creating a race with runner bib numbers 400 to 405 (6 runners) and 2 checkpoints, the race overview page should display "6" as the runner count and "2" as the checkpoint count — no more, no less.
Running a Checkpoint
Steps for checkpoint volunteers. Covers opening a checkpoint, marking off runners individually and in bulk, reviewing counts, and exporting data.
Navigates to checkpoint and sees runner grid
A checkpoint volunteer opens the app, taps "Checkpoint Operations", selects their race, and arrives at the correct checkpoint screen. This test confirms that the grid of runner bib numbers — the list of every runner they need to watch for — is visible and fully loaded.
Marks off a single runner via the runner grid
A checkpoint volunteer clicks on a single runner's bib number tile in the grid to record that the runner passed through. The tile should change colour or appearance to make it obvious that runner has been marked as "through".
Marks off multiple runners via Quick Entry
Instead of finding runners in the grid, a volunteer can just type a bib number and press Enter to record it quickly. This test enters two bib numbers one after the other using the quick-entry shortcut and confirms both runners are marked off.
Switches to Overview tab and shows runner counts
The Overview tab shows a summary — how many runners have been through, how many are still expected, and other totals. This test confirms those summary numbers appear correctly when the tab is selected.
Can export checkpoint results
At the end of a checkpoint shift, a volunteer may need to export their recorded data to share with base station or keep as a backup. This test checks that the export option can be opened from the checkpoint screen.
Navigates from race overview to a checkpoint
From the race overview, a race director can jump straight to any checkpoint's live mark-off screen. This test clicks the Checkpoint 1 link and confirms the checkpoint mark-off screen opens.
Settings
Personalise the app. Toggle dark mode and understand how preferences are saved.
Opens and closes the Settings modal
Tapping the settings cog in the top-right corner should open the settings panel. Pressing the Escape key (or tapping close) should dismiss it cleanly. This test confirms both actions work.
Toggles dark mode on and off
The dark mode toggle in settings switches the app between a light colour scheme and a dark one. This test turns dark mode on, confirms the dark theme is applied, then turns it back off and confirms the light theme is restored.
Settings persist after closing and reopening the modal
Changes made in settings should be saved and remembered. If dark mode is turned on and the settings panel is closed then reopened, dark mode should still be on — the preference should not reset.